In a partitioned 8B/10B transmission code, an input vector having eight bits is partitioned into two smaller vectors having three and five bits, respectively. Coded vectors having four and six bits, respectively, are created from the partitioned vectors through use of 3B/4B and 5B/6B transmission code vector sets. The resultant coded vectors then form a single ten-bit coded vector suitable for transmission. Generally, a control input generates control characters readily recognized as other than the 256 data characters in an 8B/10B transmission code.
The original partitioned 8B/00B transmission code, introduced more than 20 years ago, was designed to minimize the number of gates required for encoding and decoding. The original partitioned 8B/10B transmission code is described in Franaszek and Widmer, U.S. Pat. No. 4,486,739, issued Dec. 4, 1984, the disclosure of which is hereby incorporated by reference. The original circuitry was implemented with emitter coupled logic, some versions were also done in bipolar transistor/transistor logic, and this was followed by several complementary metal oxide silicon designs. One example is PCT No. US02/13798, entitled “8B/10B Encoding and Decoding for High Speed Applications,” claiming the benefit of U.S. Patent Application No. 60/289,556 that was filed on May 8, 2001, the disclosure of which is hereby incorporated by reference.
Lately, design efforts have concentrated on high operating rates. Traditional means for achieving higher operating rates for transmission codes, such as the partitioned 8B/10B transmission code, have involved the parallel operation of several encoders and decoders. Current important potential applications for the partitioned 8B/10B transmission code and its 5B/6B component are for very wide high speed buses using sets of parallel serial links, with each serial link operating up to dozens of Gbaud for short links which require short latencies for performance reasons. Operation with a single CoDec (coder/decoder) circuit for each serial link, or a reduction of the multiplexing ratios required at both ends to accommodate parallel CoDec circuits required to serve a single link, is desirable to improve the latency aspect.
Although conventional 8B/10B encoding and decoding work well for a large number of applications, the conventional codes could be improved, particularly in operating rates and latency. Thus, what is needed is a partitioned 8B/10B transmission code and apparatus using the same that allow high operating rates and low latency.
Additionally, some applications are compatible with 5-bit data units. It would be beneficial to enable the use of 5B/6B transmission codes with such applications in the form, for instance, of 10B/12B transmission codes. Consequently, improvements to 10B/12B transmission codes are desired.